BanditRepair: Speculative Exploration of Runtime Patches

نویسندگان

  • Thomas Durieux
  • Youssef Hamadi
  • Martin Monperrus
چکیده

We propose, BanditRepair, a system that systematically explores and assesses a set of possible runtime patches. The system is grounded on so-called “bandit algorithms”, that are online machine learning algorithms, designed for constantly balancing exploitation and exploration. BanditRepair’s runtime patches are based on modifying the execution state for repairing null dereferences. BanditRepair constantly trades the ratio of automatically handled failures for searching for new runtime patches and vice versa. We evaluate the system with 16 null dereference field bugs, where BanditRepair identifies a total of 8460 different runtime patches, which are composed of 1 up to 8 decisions (execution modifications) taken in a row. We are the first to finely characterize the search space and the outcomes of runtime repair based on execution modification.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Compiling Sequential Programs for Speculative Parallelism

We present a runtime system and a parallelizing compiler for exploiting speculative parallelism in sequential programs. In speculative executions, the computation consists of tasks which may start before their data or control dependencies are resolved; dependency violation is detected and corrected at runtime. Our runtime system provides a shared memory abstraction and ensures that shared acces...

متن کامل

Integrating Data Caching into the SUDS Runtime System

In this thesis, I describe the design and implementation of a software data cache for speculative loads in the SUDS (Software Undo System) runtime system. The basic functionality of this cache exploits short-term temporal locality and some spatial locality in the memory accesses of speculative processing elements. The cache implementation is also extended to exploit temporal locality of accesse...

متن کامل

Speculative Program Parallelization with Scalable and Decentralized Runtime Verification

Thread Level Speculation (TLS) is a dynamic code parallelization technique proposed to keep the software in pace with the advances in hardware, in particular, to automatically parallelize programs to take advantage of the multicore processors. Being speculative, frameworks of this type unavoidably rely on verification systems that are similar to software transactional memory, and that require v...

متن کامل

Support for Thread-Level Speculation into OpenMP

– In-depth knowledge of the problem. – Understanding of the underlying architecture. – Knowledge on the parallel programming model. • OpenMP allows to parallelize code “avoiding” these requirements. • Compilers’ automatic parallelization only proceed when there is no risk. • Thread-Level Speculation (TLS) can extract parallelism when a compile-time dependence analysis can not guarantee that the...

متن کامل

Speculative Parallel & Optimized Execution on Multi-Core Platforms

and Goals: The goal of the proposed research is to enable parallelization and optimization of applications for execution on contemporary multi-core platforms. Via code annotations, the user will provide hints for the presence of parallelism and the usage of static and dynamic data structures. These hints will enable exploitation of potential parallelism in these applications with high levels of...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • CoRR

دوره abs/1603.07631  شماره 

صفحات  -

تاریخ انتشار 2016